home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri K-CD 2002 #1 / K-CD_2002-01.iso / Delphi / INSTALL / program files / Borland / Delphi6 / Doc / ImgList.int < prev    next >
Encoding:
Text File  |  2001-05-22  |  5.0 KB  |  120 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {                                                       }
  6. {  Copyright (c) 1995-2001 Borland Software Corporation }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit ImgList;
  11.  
  12. {$R-,T-,H+,X+}
  13.  
  14. interface
  15.  
  16. uses Windows, Classes, Graphics, CommCtrl;
  17.  
  18. type
  19.  
  20. { TChangeLink }
  21.  
  22.   TCustomImageList = class;
  23.  
  24.   TChangeLink = class(TObject)
  25.   public
  26.     destructor Destroy; override;
  27.     procedure Change; dynamic;
  28.     property OnChange: TNotifyEvent;
  29.     property Sender: TCustomImageList;
  30.   end;
  31.  
  32. { TCustomImageList }
  33.  
  34.   TDrawingStyle = (dsFocus, dsSelected, dsNormal, dsTransparent);
  35.   TImageType = (itImage, itMask);
  36.   TResType = (rtBitmap, rtCursor, rtIcon);
  37.   TOverlay = 0..3;
  38.   TLoadResource = (lrDefaultColor, lrDefaultSize, lrFromFile,
  39.     lrMap3DColors, lrTransparent, lrMonoChrome);
  40.   TLoadResources = set of TLoadResource;
  41.   TImageIndex = type Integer;
  42.  
  43.   TCustomImageList = class(TComponent)
  44.   protected
  45.     procedure AssignTo(Dest: TPersistent); override;
  46.     procedure Change; dynamic;
  47.     procedure DefineProperties(Filer: TFiler); override;
  48.     procedure DoDraw(Index: Integer; Canvas: TCanvas; X, Y: Integer;
  49.       Style: Cardinal; Enabled: Boolean = True); virtual;
  50.     procedure GetImages(Index: Integer; Image, Mask: TBitmap);
  51.     procedure HandleNeeded;
  52.     procedure Initialize; virtual;
  53.   public
  54.     constructor Create(AOwner: TComponent); override;
  55.     constructor CreateSize(AWidth, AHeight: Integer);
  56.     destructor Destroy; override;
  57.     procedure Assign(Source: TPersistent); override;
  58.     function Add(Image, Mask: TBitmap): Integer;
  59.     function AddIcon(Image: TIcon): Integer;
  60.     procedure AddImages(Value: TCustomImageList);
  61.     function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;
  62.     procedure Clear;
  63.     procedure Delete(Index: Integer);
  64.     procedure Draw(Canvas: TCanvas; X, Y, Index: Integer;
  65.       Enabled: Boolean = True); overload;
  66.     procedure Draw(Canvas: TCanvas; X, Y, Index: Integer;
  67.       ADrawingStyle: TDrawingStyle; AImageType: TImageType;
  68.       Enabled: Boolean = True); overload;
  69.     procedure DrawOverlay(Canvas: TCanvas; X, Y: Integer;
  70.       ImageIndex: Integer; Overlay: TOverlay; Enabled: Boolean = True); overload;
  71.     procedure DrawOverlay(Canvas: TCanvas; X, Y: Integer;
  72.       ImageIndex: Integer; Overlay: TOverlay; ADrawingStyle: TDrawingStyle;
  73.       AImageType: TImageType; Enabled: Boolean = True); overload;
  74.     function FileLoad(ResType: TResType; const Name: string;
  75.       MaskColor: TColor): Boolean;
  76.     function GetBitmap(Index: Integer; Image: TBitmap): Boolean;
  77.     function GetHotSpot: TPoint; virtual;
  78.     procedure GetIcon(Index: Integer; Image: TIcon); overload;
  79.     procedure GetIcon(Index: Integer; Image: TIcon; ADrawingStyle: TDrawingStyle;
  80.       AImageType: TImageType); overload;
  81.     function GetImageBitmap: HBITMAP;
  82.     function GetMaskBitmap: HBITMAP;
  83.     function GetResource(ResType: TResType; const Name: string;
  84.       Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean;
  85.     function GetInstRes(Instance: THandle; ResType: TResType; const Name: string;
  86.       Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean; overload;
  87.     function GetInstRes(Instance: THandle; ResType: TResType; ResID: DWORD;
  88.       Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean; overload;
  89.     function HandleAllocated: Boolean;
  90.     procedure Insert(Index: Integer; Image, Mask: TBitmap);
  91.     procedure InsertIcon(Index: Integer; Image: TIcon);
  92.     procedure InsertMasked(Index: Integer; Image: TBitmap; MaskColor: TColor);
  93.     procedure Move(CurIndex, NewIndex: Integer);
  94.     function Overlay(ImageIndex: Integer; Overlay: TOverlay): Boolean;
  95.     procedure RegisterChanges(Value: TChangeLink);
  96.     function ResourceLoad(ResType: TResType; const Name: string;
  97.       MaskColor: TColor): Boolean;
  98.     function ResInstLoad(Instance: THandle; ResType: TResType;
  99.       const Name: string; MaskColor: TColor): Boolean;
  100.     procedure Replace(Index: Integer; Image, Mask: TBitmap);
  101.     procedure ReplaceIcon(Index: Integer; Image: TIcon);
  102.     procedure ReplaceMasked(Index: Integer; NewImage: TBitmap; MaskColor: TColor);
  103.     procedure UnRegisterChanges(Value: TChangeLink);
  104.     property Count: Integer;
  105.     property Handle: HImageList;
  106.   public
  107.     property AllocBy: Integer default 4;
  108.     property BlendColor: TColor default clNone;
  109.     property BkColor: TColor default clNone;
  110.     property DrawingStyle: TDrawingStyle default dsNormal;
  111.     property Height: Integer default 16;
  112.     property ImageType: TImageType default itImage;
  113.     property Masked: Boolean default True;
  114.     property ShareImages: Boolean default False;
  115.     property Width: Integer default 16;
  116.     property OnChange: TNotifyEvent;
  117.   end;
  118.  
  119. implementation
  120.